package com.yunhe.tianhe.rentcars.dao.zuche;



import com.yunhe.tianhe.rentcars.entity.zuche.CarOrder;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface CarOrderDao {

   CarOrder findMsgByOrderid(String orderid);

   CarOrder findMsg();

   List<CarOrder> pageList(@Param("offset") Integer offset, @Param("limit") Integer limit,@Param("mobile") String mobile,@Param("orderid") Long orderid);

   int pageCount();

   void save(CarOrder carOrder);

   void update(Long orderid);

   //预计租期
   int realrentday(String orderid);
   //实际租期
   int prerentday(String orderid);

   //租赁费+保险费
   double moneysum(String orderid);

   //未还车之前车辆的实际费用
   double readymoneysum(String orderid);


//   List<CarOrder> searchhistory(Map<String,String> params);

   //在订单表中插入数据
   void addCarOrder(CarOrder carOrder);
//   void addCarOrder(Map<String,String> rs);

   /**
    * 获取订单表所有订单
    */
   List<CarOrder> getAllOrders(Map<String, String> paramsMap);

   /**
    * 删除单条订单
    * @param orderid
    */
   void delCarOrder(String orderid);

   /**
    * 批量删除订单
    */
   void delCarOrders(List<String> orderidList);

   /**
    * 获取订单的具体信息
    */
   CarOrder getCarOrderInfo(String orderid);

   /**
    * 查询所有订单数量
    */
   int getCountOrder();

   /**
    * 更新订单表的支付方式，实付金额，订单状态
    */
   void updatePayOrder(Map<String, Object> paramsMap);

   /**
    * 根据订单编号查询取车门店具体地址
    */
   String getBtrentdeptAddress(String orderid);

   /**
    * 根据订单编号查询还车门店具体地址
    */
   String getEtrentdeptAddress(String orderid);

   /**
    * 将实际收取费用更新到订单表中
    */
   void updateRealPay(Map<String, String> rs1);
}
